import 'package:flutter/material.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:sonora/bloc/base/sj_base_event.dart';

part 'sj_login_event.freezed.dart';

@freezed
class SjLoginEvent extends SjBaseEvent with _$SjLoginEvent {
  const factory SjLoginEvent.appleLoginRequested(BuildContext context) = AppleLoginRequested;
  const factory SjLoginEvent.fastLoginRequested({required int oauthType, required BuildContext context}) = FastLoginRequested;
  const factory SjLoginEvent.loginSuccess({required String userIdentifier}) =
      LoginEventSuccess;
  const factory SjLoginEvent.loginFailure({required String error}) =
      LoginEventFailure;
  const factory SjLoginEvent.toggleUse({required bool useChecked}) = LoginEventToggleUse;
  const factory SjLoginEvent.togglePrivacy({required bool privacyChecked}) = LoginEventTogglePrivacy;
}
